#include <string>
#include <iostream>

// 使用这样的方式定义一个类模板
template <class Type> // 或者 使用关键字typename代替class
class MyClass
{
    bool myFunction();
};

template <typename Type>
bool MyClass<Type>::myFunction()
{
}

// 当模板被调用的时候Type将被具体的类型值替换(比如int或者string)
// 我们称这样的方式叫做泛型编程
// 泛型标识符--Type--称为类型参数,这意味着他们类似于变量,但是付给他们的不能是数字,而只能是类型

// 向上面的那样仅仅有类模板声明是不够的,必须要进行实例化,就像下面这样:
MyClass<int> myclass;
MyClass<std::string> mystringclass;

